home *** CD-ROM | disk | FTP | other *** search
/ SGI Origin & Onyx2 Patches 1998 May / Origin and Onyx2 System Disk Patches May 1998.img / dist / patchSG0002839.idb / var / sysgen / mtune / kernel.z / kernel
Text File  |  1998-04-01  |  28KB  |  770 lines

  1. **************************************************************************
  2. * Copyright 1990-1995, Silicon Graphics, Inc. 
  3. * All Rights Reserved.
  4. *
  5. * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6. * the contents of this file may not be disclosed to third parties, copied or 
  7. * duplicated in any form, in whole or in part, without the prior written 
  8. * permission of Silicon Graphics, Inc.
  9. *
  10. * RESTRICTED RIGHTS LEGEND:
  11. * Use, duplication or disclosure by the Government is subject to restrictions 
  12. * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13. * and Computer Software clause at DFARS 252.227-7013, and/or in similar or 
  14. * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished - 
  15. * rights reserved under the Copyright Laws of the United States.
  16. **************************************************************************
  17. *
  18. *#ident "$Revision: 1.145 $"
  19.  
  20. * This is a read-only file. User-specified tunables are stored
  21. * in var/sysgen/stune file.
  22. *
  23. * kernel
  24. *
  25.  
  26.  
  27.  
  28. * tunables that turn on/off features
  29. *
  30. * nosuidshells: to allow setuid shells set to 0
  31. * restricted_chown = 1   bsd style chown(2), only super-user can give away files
  32. * restricted_chown = 0 sysV style chown(2), non super-user can give away files
  33. * posix_tty_default = 0 ==> run our default line discipline and settings
  34. * posix_tty_default = 1 ==> match tty parameters/POSIX test assumptions
  35. * use_old_serialnum = 1 ==> Force the kernel to use the old method of
  36. *            calculating a 32-bit serial number for sysinfo -s.
  37. *            This variable only affects Onyx/Challenge L/XL systems.
  38. * reboot_on_panic = -1 ==> Use machine dependent reboot after panic semantics.
  39. * reboot_on_panic =  0 ==> Do not reboot the system after a panic (wait for
  40. *            user to hit the system reset button).
  41. * reboot_on_panic =  1 ==> Automatically reboot the system after a panic.
  42. * restrict_fastprof = 1 ==> Don't allow users to do fast (1ms) user level
  43. *            profiling.
  44. * restrict_fastprof = 0 ==> Allow users to do fast (1ms) user level profiling.
  45. * ip26_allow_ucmem = 0 ==> Accessing system memory uncached on Power Indigo2
  46. *            and Indigo2 10000 is illegal and will cause a
  47. *            system crash.
  48. * ip26_allow_ucmem = 1 ==> Accessing system memory on Power Indigo2 and
  49. *            Indigo2 10000 is always legal.  This comes at a
  50. *            large memory access performance hit.
  51. * reset_limits_on_exec = 1 ==> Reset rlimits on exec of processes that are
  52. *            setuid to root to prevent unprivileged processes from
  53. *            enforcing resource limitations on setuid/setgid procs.
  54. * reset_limits_on_exec = 0 ==> Don't reset limits on execs of setuid procs.
  55. *            Warning: Allowing non-root user to enforce
  56. *            resource limitations on setuid/setgid to root
  57. *            program can compromise system security. Do
  58. *            not set this option to zero unless you are
  59. *            sure all setuid/setgid to root programs on
  60. *            your system can recover from problem caused
  61. *            by resource limit.
  62. * tty_auto_strhold = 1 ==> automatically sets STRHOLD on ttys/ptys whenever
  63. *            the line discipline is in canonical & echo mode and
  64. *            automatically clears STRHOLD otherwise.
  65. * tty_auto_strhold = 0 ==> STRHOLD on ptys/ttys is entirely under user control.
  66. * add_kthread_stack = 0 ==> no additional kthread stack for kernel daemons
  67. * add_kthread_stack != 0 ==> add add_kthread_stack bytes to kernel daemon stack
  68. * xpg4_sticky_dir = 1 ==> write access to a file does not imply it is
  69. *              removable in a directory with the sticky bit set
  70. * xpg4_sticky_dir = 0 ==> write access to a file implies that it is
  71. *              removable in a directory  with the sticky bit set
  72. * mload_auto_rtsyms = 0 ==> Disable auto-loading of kernel's run-time symbol
  73. *                           table for dynamic driver/module loading.
  74. * disable_ip25_check = 1 ==> Disable boot time checking for valid (SUPPORTED)
  75. *            SCC/R10k configurations.
  76. * disable_r10k_log = 0 ==> Disable boot time logging of R10k config params.
  77. *            such as clk divisors etc.
  78. * spec_udma_war_on = 1  ==> speculative store userdma workaround
  79.  
  80. switch:    static
  81.  
  82. * name            default          minimum        maximum
  83. nosuidshells         1
  84. restricted_chown     0
  85. posix_tty_default    0
  86. use_old_serialnum    0
  87. reboot_on_panic        -1
  88. restrict_fastprof    0
  89. reset_limits_on_exec    1
  90. ip26_allow_ucmem    0
  91. add_kthread_stack    0
  92. xpg4_sticky_dir        1
  93. mload_auto_rtsyms    1
  94. disable_ip25_check    0
  95. prod_assertion_level    0        0        100
  96. disable_r10k_log    0
  97. spec_udma_war_on    1
  98. warbits_override    -1
  99. ignore_sysctlr_intr    0
  100. xbox_sysctlr_poll_interval 60         5        3600
  101. switch: run
  102. * name            default          minimum        maximum
  103. tty_auto_strhold    0
  104.  
  105. * miscellaneous static tuneables
  106. *
  107. * io4ia_userdma_war    enable the error checking for concurrent user
  108. *            dma operations into the same physical memory
  109. *
  110. * ignore_converyor_override  override the code that ignores the
  111. *                 conveyor belt mode request on the hub for
  112. *                 Origin systems
  113.  
  114. misc: static
  115.  
  116. * name            default        minimum        maximum
  117. io4ia_userdma_war    1
  118. ignore_conveyor_override    0    0        1
  119.  
  120. * io4ia_war_enable    Enable io4ia_war on all configurations (without
  121. *            checking if this configuration needs this).
  122. *            To be used ONLY for testing purposes. It should 
  123. *            be used only to enable io4ia_war on systems for
  124. *            testing. Useful only on Challenge/Onyx platforms.
  125. *
  126. * name                  default         minimum         maximum
  127. io4ia_war_enable    0
  128. * racer_large_iospace_mapping
  129. *               1 ==>   Enable supporting > 16 Mbytes of PCI MEM/IO space 
  130. *            mapping for all cards put together on Racer systems. 
  131. *            This tuneable should be set to 
  132. *                       1 ONLY when it's essential to have greater than 
  133. *                       16 Mbytes of PCI space (both Memory/IO) mapping.
  134. *                       Enabling this has the potential to cause about
  135. *                       6 - 8% degradation in graphics intensive Apps.
  136. *                       Refer to bug #549553 for more details.
  137. *               0 ==>   Turn this off (default)
  138. *        
  139. racer_large_iospace_mapping    0        
  140.  
  141. * miscellaneous dynamic tuneables 
  142. *
  143. * r4k_div_patch = 1    turn on exec patch code for binaries that have been
  144. *            processed with r4kpp for the divide in branch delay slot
  145. *            problem that occurs on R4000 SC rev 2.2 and 3.0 parts.
  146. * corepluspid = 1    name core file as "core.pid"
  147. * panic_on_sbe = 1    special factory debugging mode
  148. * sbe_log_errors = 1    log single bit errors to SYSLOG
  149. * sbe_mfr_override = 1     overrides default action of disabling sbe's 
  150. *            if rate of sbe's exceeds predetermined limit
  151. * sbe_report_cons = 1   report single bit errors to console also
  152. * ecc_recover_enable = 0  ==> don't attempt to recover from multibit errors
  153. *             > 0  ==> attempt to recover from some cases of multibit
  154. *                errors, but no more than 32 errors every
  155. *                "ecc_recover_enable" seconds (default 60 secs)
  156. * munlddelay = 5    timeout for auto-unload for loadable modules
  157. * dump_all_pages = 1    dump kernel and user and free pages during panic
  158. *              0    dump only kernel pages during panic
  159. * mmap_async_write =
  160. *        0 ==>    don't allow kernel to take references to read-only
  161. *            MAP_SHARED non-anonymous memory in the write path.
  162. *            This is the default and reflects standard UNIX
  163. *            semantics.
  164. *        1 ==>    allow kernel to take references to read-only MAP_SHARED
  165. *            non-anonymous memory in order to avoid having to copy
  166. *            data in the write path.  Normally this only happens for
  167. *            anonymous memory (/dev/zero, bss, stack, etc.) which
  168. *            is safe to do because we mark that as copy-on-write and
  169. *            no one outside the share group can get at anonymous
  170. *            memory.  The extension of this semantic to read-only
  171. *            MAP_SHARED memory is very dangerous since a write will
  172. *            return before the data has been written and it will be
  173. *            possible for another process to modify the file before
  174. *            the data has been gathered.  On the other hand, this
  175. *            provides about 10% in web serving performance ...
  176. *            What we really need is a good asynchronous I/O model.
  177. *            
  178. * gather_craylink_routerstats =
  179. *            Gather craylink router statistics (like sequence 
  180. *            number errors, checkbit errors etc). 
  181. *            This variable is off by default. 
  182. *
  183. *            This should be turned on, for output from 'linkstat'
  184. *            to be useful.
  185. *
  186. *            This variable can be turned on at runtime.
  187. *
  188. misc: run
  189.  
  190. * name            default        minimum        maximum
  191. r4k_div_patch        0
  192. corepluspid        0
  193. panic_on_sbe        0
  194. sbe_log_errors        0
  195. sbe_mfr_override    0
  196. sbe_report_cons        0
  197. ecc_recover_enable    60
  198. module_unld_delay    5        0
  199. dump_all_pages        1
  200. mmap_async_write    0        0        1
  201. gather_craylink_routerstats    1    0        1
  202. r10k_intervene        1
  203. r10k_progress_nmi    0
  204. r10k_check_count    30000
  205. r10k_progress_diff    200000000    0        0x7fffffffffffffff ll
  206. *
  207. * Tuneables to enable hardware specific parameter on Origin200/Origin2000.
  208. *
  209. * Rev of bridge supporting prefetch.
  210. pcibr_prefetch_enable_rev    3
  211.  
  212. * Rev of bridge supporting write gathering.
  213. pcibr_wg_enable_rev        4
  214.  
  215. * Turn off panic for Rev B bridge on LLP retry
  216. * (which was put in to control silent data corruption)
  217. bridge_rev_b_data_check_disable        0
  218.  
  219. * This is used only by O200/O2000 kernels
  220. full_fru_analysis    1
  221.  
  222. *
  223. * tunables that set the limit
  224. *
  225. * ncargs is max # bytes of arguments passed during an exec(2)
  226. * shlbmax :  Maximum number of libraries that can be
  227. *            attached to a process at one time.
  228. * maxwatchpoints:  maximum watchpoints per process
  229. * nprofile: number of disjoint text spaces to be profiled 
  230. * maxsymlinks is the maximum number of symlinks expanded in an pathname.
  231. * reserve_ncallout: number of reserved callouts 
  232. * maxup: the maximum number of processes per user, should always smaller than
  233. *     nproc
  234. * vnode_free_ratio: proportion of free vnodes to vnodes in use.
  235. *
  236. * reserve_ncallout auto-config: max(5,numcpus)
  237. * maxup limit: nproc - 20
  238. * vnode_free_ratio auto-config: 2 (to one)
  239. * idbgmaxfuncs = 1200   maximum number of dynamically loaded idbg functions
  240.  
  241. limits:    run
  242.  
  243. * name            default          minimum        maximum
  244. ncargs             20480        5120        262144
  245. shlbmax         8        3        32
  246. maxwatchpoints         100        1        1000
  247. nprofile         100        100        200
  248. maxsymlinks         30        0        50
  249. reserve_ncallout     0        0        50     /* auto-config */
  250. maxup            0        15        10000
  251. vnode_free_ratio     2        1        100
  252. idbgmaxfuncs        1200
  253.  
  254. *
  255. * tunables for resource limit
  256. * 'cur' may be changed via any shell or setrlimit
  257. * Limits specified as 0x7fffffffffffffff implies no limit.
  258. *
  259. * Note: rlimit_nofile_max must not be set to an unreasonably large value
  260. * since many daemons/programs use rlimit_nofile_max as an indication
  261. * of how many file descriptors to close when they want to close them all.
  262. *
  263.  
  264. resource:    static
  265.  
  266. * name            default              minimum      maximum
  267. rlimit_cpu_cur       0x7fffffffffffffff     0    0x7fffffffffffffff ll
  268. rlimit_cpu_max          0x7fffffffffffffff     0    0x7fffffffffffffff ll
  269. rlimit_fsize_cur      0x7fffffffffffffff     0    0x7fffffffffffffff ll
  270. rlimit_fsize_max      0x7fffffffffffffff     0    0x7fffffffffffffff ll
  271. rlimit_data_cur      0            0    0x7fffffffffffffff ll
  272. rlimit_data_max      0            0    0x7fffffffffffffff ll
  273. rlimit_stack_cur      0x04000000        0    0x7fffffffffffffff ll
  274. rlimit_stack_max      0x20000000        0    0x7fffffffffffffff ll
  275. rlimit_core_cur      0x7fffffffffffffff     0    0x7fffffffffffffff ll
  276. rlimit_core_max      0x7fffffffffffffff     0    0x7fffffffffffffff ll
  277. rlimit_vmem_cur      0            0    0x7fffffffffffffff ll
  278. rlimit_vmem_max      0            0    0x7fffffffffffffff ll
  279. rlimit_rss_cur          0            0    0x7fffffffffffffff ll
  280. rlimit_rss_max          0x20000000        0    0x7fffffffffffffff ll
  281. rlimit_nofile_cur      200            40    0x7fffffffffffffff ll
  282. rlimit_nofile_max      2500            0    0x7fffffffffffffff ll
  283.  
  284. *
  285. * tunables that depend on nproc
  286. *
  287. * nproc: maximum number of processes
  288. * ndquot: maximum number of file system quota structures
  289. * ncallout: initial # of callouts -- used to implement timeout calls
  290. * callout_himark:  high water mark of callouts
  291. * ncsize: directory-name lookup cache size
  292. * ngroups_max: maximum number of groups to which user can belong
  293. *
  294. * nproc auto-config: 30 + KB(mem)/240
  295. * ndquot auto-config: 200 + 2*nproc
  296. * ncsize auto-config: 200 + 2*nproc
  297. * ncallout auto-config: nproc/2
  298. *
  299. numproc:    static
  300.  
  301. * name            default          minimum      maximum
  302. nproc            0        30    20000    /* auto-config */
  303. ndquot            0        268    6200    /* auto-config */
  304. callout_himark         0        42    10000    /* auto-config */
  305. ncallout         0        20    5000    /* auto-config */
  306. ncsize             0               268     100000  /* auto-config */
  307. ngroups_max         16        0    32
  308.  
  309. *
  310. * The following is for STREAMS.
  311. *
  312. streams:    static
  313.  
  314. * name            default          minimum      maximum
  315. nstrpush          9        9       10
  316. nstrintr         1024        32       4096
  317. strmsgsz          0x8000
  318. strctlsz          1024
  319. strpmonmax         4        0       1024
  320.  
  321. streams:    run
  322.  
  323. * name            default          minimum      maximum
  324. strholdtime        50        0      1000
  325.  
  326. *
  327. * cpu actions -- interprocessor communication blocks
  328. * nactions: number of action block, autoconfigure if 0
  329. *
  330. * nactions auto-config: max((maxcpus+60), (maxcpus*(maxcpus/2)))
  331. *
  332.  
  333. actions:    static
  334.  
  335. * name            default          minimum      maximum
  336. nactions         0        60       200    /* auto-config */
  337.  
  338. *
  339. * tunables for queued signals
  340. *
  341. * maxsigq: used by sigqsetup()  - Posix.4 required at least 32
  342. * since svr4 SA_SIGINFO signals also share this, make maxsigq >= NSIG+32
  343. * results in
  344. * sysconf(SIGQUEUE_MAX) = maxsigq - NSIG
  345. *
  346. signals:    run
  347.  
  348. * name            default          minimum      maximum
  349. maxsigq         96        96    
  350.  
  351. *
  352. * tunables for timer
  353. *
  354. * fasthz: profiling/fast itimer clock speed. 
  355. *
  356. * itimer_on_clkcpu = 1 10 ms itimer request is queued on the clock processoro
  357. * itimer_on_clkcpu = 0 0 ms itimer request is queued on the runing processor
  358. * If a process does a setitimer then uses gettimeofday() to compare the
  359. * accuracy of the itimer delivery then itimer_on_clkcpu should be set.
  360. * If on the otherhand, itimer request is used to implement a user frequency
  361. * based scheduler then itimer_on_clkcpu should be 0.
  362. *
  363. * timetrim: The clock is adjusted by this signed number of nanoseconds 
  364. *        every second. It is limited to 3 milliseconds or 0.3% in clock.c.
  365. *    Timed(1M) and timeslave(1M) put suggested values in /usr/adm/SYSLOG.
  366. *
  367. timer:    static
  368.  
  369. * name            default          minimum      maximum
  370. fasthz             1000        500       2500    
  371. itimer_on_clkcpu     0
  372. timetrim         0
  373.  
  374. *
  375. * tunables for memory size
  376. *
  377. * maxpmem: the maximum physical memory to use, if maxpmem = 0,
  378. *       then use all available physical memory.
  379. * syssegsz: max pages of dynamic system memory,
  380. * maxdmasz: max dma transfer (in pages), must be no more than syssegsz / 2
  381. *         and less than maxpmem  It is set to what it would be plus 1
  382. *        so that file system direct I/O can report a reasonably aligned
  383. *        maximum I/O size (maxdmasz - 1).
  384. * maxpglst: maximum number of pages that can be held in each
  385. *        of the pager's pageout queues
  386. *
  387. * syssegsz auto-config: min(max(KB(mem)/2,0x2000),KSEGSIZE)
  388. *
  389. * Note: KSEGSIZE is system-specific, and defined (in bytes) in
  390. *    <sys/mips_addrs.h>.  Thus, the maximum value given here
  391. *    is just a WAG.
  392. *
  393. * maxdmasz auto-config: syssegsz/2
  394. * maxpglst auto-config: min(max(KB(mem)/2048,100)+(numcpus-1)*16,1000)
  395. *
  396. * scache_pool_size:     Amount of memory always kept in reserve for use by the
  397. *            paging daemon.  The value is the number of Kbytes 
  398. *            reserved which is always rounded up to next page
  399. *            boundary.  WARNING: this parameter should not be 
  400. *            changed lightly.  Setting it too low will result in
  401. *            memory deadlocks.  Setting it too high wastes memory.
  402. *            If the system panics with the message 
  403. *                "scache... out of memory", 
  404. *            then this tuneable should be increased.  Otherwise,
  405. *            it should be left alone.
  406. *
  407. memsize:    static
  408.  
  409. * name            default          minimum      maximum
  410. maxpmem            0        1024
  411. syssegsz,32        0        0x2000      0x20000   /* auto-config */
  412. syssegsz,64        0        0x2000      0x10000000 /* auto-config */
  413. maxdmasz,32        1025        1024      syssegsz  /* auto-config */
  414. maxdmasz,64        257        256      syssegsz  /* auto-config */
  415. maxpglst        0        50      1000        /* auto-config */
  416. scache_pool_size    32        8            /* in Kbytes   */
  417.  
  418. *
  419. * Tuneable Paging parameters    
  420. *
  421. * gpgslo: If freemem < gpgslo, then start to steal pages from processes.
  422. * gpgshi: Once we start to steal pages, don't stop until freemem > gtpgshi.    
  423. *      gpgshi defaults to 1/12 of memory; gphslo defaults to gpgshi/2.
  424. * gpgsmsk: Mask used by getpages to determine whether a page is stealable.
  425. * maxsc: The maximum number of pages which will be swapped out in a single
  426. *        operation.
  427. * maxfc: The maximum number of pages which will be saved up and freed at once.
  428. * maxdc: The maximum number of pages which will be saved up and written to
  429. *     disk (mappd files) at once.
  430. * maxumem: Obsolete - see RLIMIT_VMEM
  431. * minarmem: The minimum available resident (not swapable) memory to maintain in
  432. *        order to avoid deadlock.
  433. * minasmem: The minimum available swapable memory to maintain in order to avoid
  434. *        deadlock.
  435. * maxlkmem: The maximum amount of lockable pages per process
  436. * tlbdrop: Number of ticks before a procs wired entries are flushed
  437. * rsshogfrac: Fraction of memory RSS hogs can use
  438. * rsshogslop: # pages excess of RSS before slow down process
  439. * dwcluster: Maximum number of delayed write pages to cluster in each push.
  440. * bdflushr: The rate at which bdflush is run, in seconds.
  441. * autoup: The age a delayed-write buffer must be, in seconds,
  442. *      before bdflush will write it out.
  443. * vfs_syncr: The rate at which vfs_syncr is run, in seconds.
  444. * min_file_pages: The minimum number of file pages to keep in the cache
  445. *                 when memory gets low.  It is autoconfigured to
  446. *                 5% of the system's memory if it is 0.  When setting,
  447. *          remember that the page size is 4k in 32 bit kernels
  448. *                 and 16k in 64 bit kernels.
  449. * min_free_pages: When the number of file pages is above min_file_pages,
  450. *          this is the minumum number of free pages.
  451. *          The default value for min_free_pages is gpgshi * 2.
  452. * shaked_interval: The number of seconds between runs of the shaked
  453. *                  daemon when memory is low.
  454. *
  455.  
  456. paging:        run
  457.  
  458. * name            default          minimum      maximum
  459. gpgslo            0
  460. gpgshi            0        30
  461. gpgsmsk            2        0       7
  462. maxsc            0        8      maxpglst
  463. maxfc            0        50      maxpglst
  464. maxdc            0        1      maxpglst
  465. bdflushr        5        1      31536000
  466. vfs_syncr        30        1      31536000
  467. minarmem        0
  468. minasmem        0
  469. maxlkmem        2000
  470. tlbdrop            100
  471. rsshogfrac        75        0      100
  472. rsshogslop        20
  473. dwcluster        64
  474. autoup            10        1         30
  475. min_file_pages,32    0        0       500000
  476. min_file_pages,64    0        0       1000000
  477. min_free_pages        0        0         50000000
  478. shaked_interval        1        1       3600
  479.  
  480. *
  481. * Enables an optimization for mmap() of /dev/zero. This allows adjacent
  482. * mmap invokations to just grow the previous address space segment instead 
  483. * creating a new one. This is useful for X servers. This can be turned off
  484. * if a large parallel application wants to initialize adjacent mmap /dev/zero
  485. * segments in parallel.
  486. *
  487.  
  488. enable_devzero_opt    1
  489.  
  490. *
  491. * This tuneable enables a fast path in the kernel async io.
  492. * The fast path ensures that we use k0seg address for aiocb buffers 
  493. * that lie fully within a page. This gives 2 to 3% boost to TPC-C on
  494. * informix if set to 1.
  495. *
  496. enable_kaio_fast_path    0
  497.  
  498. *
  499. * tunables for buffer cache
  500. *
  501. * nbuf: number of  buffers in disk buffer cache. autoconfigure if 0
  502. *
  503. * nbuf auto-config: max(100+KB(mem)/160,6000)
  504.  
  505. bufcache:    static
  506.  
  507. * name            default          minimum      maximum
  508. nbuf,32            0          75       6000
  509. nbuf,64            0          75       125000
  510.  
  511. *
  512. * tunables for module loader
  513. *
  514. * bdevsw_extra: number of extra entries for bdevsw
  515. * cdevsw_extra: number of extra entries for cdevsw
  516. * fmodsw_extra: number of extra entries for fmodsw
  517. * vfssw_extra: number of extra entries for vfssw
  518. *
  519. mload:        static
  520.  
  521. * name            default          minimum      maximum
  522. bdevsw_extra        21        1      254
  523. cdevsw_extra        23        3      254
  524. fmodsw_extra        20        0
  525. vfssw_extra        5        0
  526.  
  527. *
  528. * tunables for extended accounting features
  529. *
  530. * accounting controls
  531. *   do_procacct      = 1   perform BSD process accounting
  532. *          = 0    do not perform BSD process accounting (this overrides
  533. *            the acct(2) call)
  534. *   do_extpacct   = 1   perform extended process accounting
  535. *          = 0    do not perform extended process accounting
  536. *   do_sessacct   = 1   perform array session accounting on process exit
  537. *          = 0   do not perform array session accounting
  538. *
  539. * session table controls
  540. *   use_astbl     = 1    allocate array sessions in a single preallocated table
  541. *              = 0    array sessions are allocated dynamically
  542. *   narsess:        number of entries in array session table.
  543. *            If 0 is specified, value will be auto-configured
  544. *            to nproc/10.
  545. *
  546. * array session handle settings
  547. *   dfltash:  the default array session handle for special system sessions and
  548. *          other sessions that bypass ordinary session handle assignment
  549. *   minash:   the first array session handle that can be assigned by the kernel
  550. *   maxash:   the largest array session handle that can be assigned by the
  551. *          kernel before wrapping back to minash
  552. *   asmachid: machine ID for generating global ASHs. No other machine in
  553. *          an array should have the same machine ID. If 0 is specified,
  554. *          the kernel will only generate local ASHs.
  555. *
  556. * project ID settings
  557. *   dfltprid: the default project ID for special system sessions and other
  558. *          sessions that bypass ordinary project ID assignment.
  559. *
  560. extacct: static
  561.  
  562. * name            default        minimum        maximum
  563. do_procacct        1
  564. do_extpacct        0
  565. do_sessacct        0
  566. use_astbl,32        0
  567. use_astbl,64        1
  568.  
  569. narsess            0        10        10000   /* auto-cfg */
  570. dfltash            0        0        0x7fffffffffffffff ll
  571. minash            1        1        0xffffff00         ll
  572. maxash            65535        255        0xffffffff         ll
  573. asmachid        0        0        0x7fff
  574. dfltprid        0        0        0x7fffffffffffffff ll
  575.  
  576. *
  577. * SGI internal use
  578. *
  579. * histmax: semaphore history
  580. * conbuf_cpusz: console buffer sizes, per cpu 
  581. * putbuf_cpusz: put buffer sizes, per cpu
  582. * conbuf_maxsz: maximum size of console buffer for the system
  583. * putbuf_maxsz: maximum size of put buffer for the system
  584. * dumplo: starting default offset in dumpdev to dump kernel when it crashes 
  585. *
  586. internal:    static
  587.  
  588. * name            default          minimum      maximum
  589. histmax         0
  590. conbuf_maxsz             16384
  591. putbuf_maxsz         16384
  592. conbuf_cpusz         2048
  593. putbuf_cpusz         2048
  594. dumplo             0
  595.  
  596. * tuneables for using very large pages
  597. *
  598. * Large pages must be allocated early on and reserved if they
  599. * are to be used. nlpages_X refer to the number of large
  600. * pages of size X. When these are set the kernel will attempt
  601. * to allocate these counts of pages of the appropriate size.
  602. *
  603. * Applications which use large pages have the choice of wiring
  604. * the translations for the pages into the usually random slots
  605. * of the tlb when the application runs. The maximum number of
  606. * tlb slots to devote to this is reflected in max_lpg_tlbslots.
  607. *
  608. large_pages:            static
  609.  
  610. * name                  default         minimum   maximum
  611. nlpages_64k             0                 0          
  612. nlpages_256k            0                 0         
  613. nlpages_1m              0                 0        
  614. nlpages_4m              0                 0       
  615. nlpages_16m             0                 0      
  616. max_lpg_tlbslots        8                 8     
  617.  
  618.  
  619. * tunables for using large pages.
  620. * These tunables define hi water marks for various page sizes.
  621. * They are specified as percentage of total memory in the system.
  622. * The coalescing daemon will use these values in deciding the number of
  623. * large pages it has to coalesce for a particular page size.
  624. * Thus for example if percent_totalmem_64k_pages is set to 20, the coalescing
  625. * mechanism will try to coalesce 20% of memory into 64k pages.
  626. * percent_totalmem_16k_pages is looked at only if the system is configured to run
  627. * with 4k page size. If the tunables are set to 0, the coalescing
  628. * mechanism will be idle.  The coalescing daemon will be started if
  629. * the tunables are set dynamically on a running system.
  630.  
  631. * The tuneable large_pages_enable turns on the large page feature.
  632. * To turn on the feature set the value to 1 otherwise set it to 0.
  633. * It is not turned on for workstations by default. It is turned on servers
  634. * by default. Coalesced will not run if large_pages_enable is 0.
  635.  
  636. * name                          default         minimum   maximum
  637. large_pages_enable,NEED_LPAGES        1
  638. large_pages_enable,NOT_NEED_LPAGES    0
  639.  
  640. lpage_watermarks:    run
  641. percent_totalmem_16k_pages        0        0        100
  642. percent_totalmem_64k_pages           20        0        100
  643. percent_totalmem_256k_pages        0        0        100
  644. percent_totalmem_1m_pages        0        0        100
  645. percent_totalmem_4m_pages        0        0        100
  646. percent_totalmem_16m_pages        0        0        100
  647.  
  648. * Tuneables for Maximum simultaneous VME DMA transfer size on Challenge.
  649. * Defines the size in Megabytes, of DMA transfer that can be active 
  650. * for each VME bus in the system. E.g. a value of 64 implies, system
  651. * will allocate sufficient resources to have upto 64 Mbytes of DMA
  652. * active on each VME bus in the system. System needs to allocate 
  653. * sufficient number of mapping table entries to support the required 
  654. * transfer size. Each entry in memory is 4 bytes wide, and maps 
  655. * a 4k bytes of contiguous data. With a page size of 16k, one (16k) 
  656. * page is needed for 16M of simultaneous active DMA transfers. 
  657. *
  658. * Value for nvme32_dma should be a proper power of 2. If not, it will be 
  659. * be bumped to next power of 2 before using. It must not exceed 512 or
  660. * else it will be forced to 512. Notice that values larger than 64 may
  661. * impact VME throughput on some systems.
  662. *
  663. vme_dma:        static
  664. * name                  default         minimum   maximum
  665. nvme32_dma        64        32       512
  666.  
  667. *
  668. * tunables for tcp/udp hash tables
  669. *
  670. * Hash tables are used to keep references to TCP and UDP socket addresses.
  671. * Default sizing is based on the amount of physical memory in the system.
  672. *
  673. * The default is four hash buckets per megabyte for UDP and eight for TCP.
  674. * TCP uses twice as many buckets as configured because a separate table is
  675. * used for connections in TIME-WAIT.
  676.  
  677. inpcb:    static
  678.  
  679. * name            default          minimum      maximum
  680. tcp_hashtablesz        0        0      8192
  681. udp_hashtablesz        0        0      2048
  682.  
  683. *
  684. * Tuneables for network scheduling:
  685. *
  686. * Normally rtnetd threads are assigned one per four CPUs, and are marked as
  687. * "must run" on a specific CPU out of each group of four.  In order to avoid
  688. * problems with dedicating specific CPUs for real-time processes, setting
  689. * netthread_float to 1 will allow the rtnetd threads to run anywhere, minmizing
  690. * their impact on reserved CPUs.
  691. *
  692. * The default priority for rtnetd and sockd threads is 192; this can be changed
  693. * (within reason) in order to provide better performance for real-time jobs.
  694. * Doing so can have a severe impact on networking performance; therefore
  695. * netthread_pri should not be changed lightly.
  696. *
  697. network:  static
  698. * name            default        minimum      maximum
  699. netthread_pri        192        64      240
  700. netthread_float        0        0      1
  701.  
  702. *
  703. * tuneables for IP networking code
  704. *
  705. * icmp_dropredirects == 1: kernel does not honor ICMP_REDIRECT messages.
  706. * icmp_dropredirects == 0: kernel honors ICMP_REDIRECT messages.
  707. *
  708. * ipfilterd_inactive_behavior == 1: reject all packets when filtering
  709. *    turned off. This has the effect of preventing any routing when
  710. *    the daemon has been active, but has died.  This is the
  711. *    preferred behavior for a firewall-type gateway. Note: even
  712. *    when the value is 1, all IP packets destined for and sent from
  713. *    the local host will still be accepted.  It's only
  714. *    foreign-source packets that get clobbered.
  715. * ipfilterd_inactive_behavior == 0: accept all packets when filtering
  716. *    turned off. Acts as though filtering is not configured;
  717. *    routing and other IP traffic unaffected.
  718. *
  719. * ipforwarding == 1: Forward IP packets received that should be resent
  720. *    to another host.
  721. * ipforwarding == 0: Don't forward packets.
  722. * Note: This parameter only affects hosts with more than 1 hardware
  723. *    network interface.  Hosts that have only a single interface
  724. *    will not forward IP packets.
  725. * Note: IP multicast packets can be forwarded if the boot/ip_mroute.o
  726. *    file exists when the kernel is configured and the mrouted(1M)
  727. *    daemon is used.
  728. * Note: "MINIROOT" and "NOT_MINIROOT" are lboot tags; see lboot(1M)
  729. *    for details.  The effect is that the default for miniroot
  730. *    (i.e., special installation-time) kernels for ipforwarding is off,
  731. *    while the default for non-miniroot (i.e., normal) kernels is on.
  732. *
  733.  
  734. net_ip:    run
  735.  
  736. * name                default    minimum    maximum
  737. icmp_dropredirects        0    0    1
  738. ipfilterd_inactive_behavior    1    0    1
  739.  
  740. ipforwarding,MINIROOT        0    0    1
  741. ipforwarding,NOT_MINIROOT    1    0    1
  742.  
  743. *
  744. * Tuneables for shm
  745. * shmmax - max size in bytes
  746. * shmmin - min size in bytes
  747. * shmmni - max # active segments in system
  748. * sshmseg - max segments per process
  749. *
  750. shm:static
  751.  
  752. * name            default          minimum            maximum
  753. shmmax,32        0x20000000    0x1000        0x7fffffff
  754. shmmin,32        1        1        1
  755. shmmax,64        0x20000000    0x1000        0x7fffffffffffffff ll
  756. shmmin,64        1        1        1           ll
  757. shmmni            600        5        10000
  758. sshmseg            200        1        10000
  759.  
  760. *
  761. * Tuneables for the I/O subsystem
  762. * hwgraph_num_dev - number of supported devices in the hardware graph
  763. *
  764. io:    static
  765.  
  766. * name            default          minimum            maximum
  767. hwgraph_num_dev        16384        4096        262144
  768.